<template>
	<view class="pall">
		<rich-text :nodes="content" class="rich-text"></rich-text>
	</view>
</template>

<script>
	import {
		getSelectOaNewsById
	} from "@/proxy/asset/admin.api.js";
	export default {
		onLoad(option) {
			this.aboutid = option.id
		},
		data() {
			return {
				aboutid: null,
				content: '',
			}
		},
		async mounted() {
			// 同时加载数据
			await this.getSelectOaNewsByIdData()
		},
		methods: {
			// 获取新闻详情
			async getSelectOaNewsByIdData() {
				try {
					const result = await getSelectOaNewsById({
						params: {
							id: this.aboutid
						}
					})
					if (result.code == 200) {
						uni.setNavigationBarTitle({
							title: result.data.title
						})
						// 设置你需要加上的域名
						// const domain = 'http://10.1.1.19:1988';
						// const domain = 'https://limsapi.gzhbcss.com';
						// // 检查富文本中是否包含图片
						// const hasImage = /<img[^>]*src=["'][^"']*["'][^>]*>/i.test(result.data.content);
						// // 检查富文本中是否包含视频
						// const hasVideo = /<video[^>]*src=["'][^"']*["'][^>]*>/i.test(result.data.content);

						// if (hasImage) {
						// 	// 处理图片链接
						// 	const imgRegex = /<img.*?src="(\/[^"]+)".*?width="([^"]+)".*?>/g;
						// 	// const imgRegex = /<img.*?src="(\/[^"]+)"/g;
						// 	// this.content = result.data.content.replace(imgRegex, (match, src, width) => {
						// 	// 	// if (src && !src.startsWith('http')) {
						// 	// 	//   src = domain + src;
						// 	// 	// }
						// 	// 	return match.replace(src, domain + src);
						// 	// });

						// 	this.content = result.data.content.replace(imgRegex, (match, src, width) => {
						// 		// 如果 src 是相对路径且不以 http 或 https 开头，则拼接域名
						// 		if (src && !src.startsWith('http://') && !src.startsWith('https://')) {
						// 			src = domain + src; // 拼接域名
						// 		}

						// 		// 如果没有指定 width，则添加 width="100%"
						// 		const updatedImg = match.replace(/width="[^"]+"/, 'width="100%"');
						// 		if (!updatedImg.includes('width="100%"')) {
						// 			// 如果原本没有 width 属性，就加上 width="100%"
						// 			return updatedImg.replace(/<img/, '<img width="100%"');
						// 		}
						// 		// 如果原本已经包含宽度属性，直接返回拼接域名后的 img 标签
						// 		return updatedImg.replace(/src="[^"]+"/, `src="${src}"`);
						// 	});

						// } else if (hasVideo) {
						// 	// 处理视频链接
						// 	const videoRegex = /<video[^>]*src=["']([^"']+)["'][^>]*>/g;
						// 	this.content = result.data.content.replace(videoRegex, (match, src) => {
						// 		return match.replace(src, domain + src);
						// 	});
						// } else {
						// 	this.content = result.data.content;
						// }
						this.content = result.data.content;
						console.log("获取新闻详情", result)
					} else {
						this.$toast({
							title: result.data.msg,
						});
					}
				} catch (err) {
					this.$toast({
						icon: 'none',
						title: '发起失败，请联系管理员！',
						duration: 2000
					})
					console.log(err);
				}
			},
		},
	}
</script>

<style lang="scss">
	.pall {
		padding: 0px 5px 20px 5px;


		.rich-text {
			width: 100%;
			/* 让rich-text的宽度自适应 */
			max-width: 100%;
			/* 最大宽度为100% */
			overflow-wrap: break-word;
			/* 自动换行 */

			p {
				word-wrap: break-word;
				word-break: break-all;
			}

			img {
				max-width: 100%;
				/* 图片宽度最大为父容器宽度 */
				height: auto;
				/* 高度自适应，保持图片比例 */
				display: block;
				/* 让图片显示为块级元素，去除多余的间距 */
				margin: 0 auto;
				/* 居中显示图片 */
			}

		}

		// .rich-text {
		//   overflow-wrap: break-word; /* 自动换行 */
		// }

		// .rich-text p {
		//   word-wrap: break-word;
		//   word-break: break-all;
		// }
	}
</style>